package com.baixun.gassystem.mapper;


import com.baixun.gasentity.dto.DeviceStatisticsDto;
import com.baixun.gasentity.dto.MonitorStatisticsDTO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

import java.util.List;


/**
 * 监控概况
 * @author ：yesong
 * 查询sys_Monitor_statistics表的数据返回MonitorStatisticsDTO
 */
@Mapper
public interface SysMonitorStatisticsMapper extends BaseMapper<MonitorStatisticsDTO> {
    /**
     * 查询并返回监控统计信息中的计数
     *
     * 此方法旨在提供监控项的统计计数，包括但不限于设备数量、事件数量等
     * 它在监控系统中扮演着关键角色，通过收集和分析监控数据，为系统提供重要的运行时信息
     *
     * @return MonitorStatisticsDTO 包含监控统计信息的DTO对象
     */
    @Select(" SELECT\n" +
            "           count(pointId) as totalCount\n" +
            "        FROM sys_point")
    int selectCount();

    /**
     * 查询并返回设备的统计数量
     *
     * 该方法专注于统计当前监控系统中设备的数量信息它对于了解系统监控覆盖范围、
     * 设备分布情况以及可能的资源分配具有重要意义
     *
     * @return DeviceStatisticsDto 包含设备统计数量的DTO对象
     */

    List<DeviceStatisticsDto> selectDeviceCount(@Param("deviceType") String deviceType);
}
